package com.qianxun.module.datasource1.develop.entity;

import com.qianxun.module.base.bo.OptionInfo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;

import java.io.Serializable;
import lombok.Data;
import lombok.experimental.Accessors;

/**
*
* @author: admin
* @date: 2019-11-14
* @version: 1.0.0
*/
@Data
@Accessors(chain = true)
public class SysFunction extends OptionInfo implements Serializable ,Cloneable {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 根路径
     */
    private String rootPath;

    /**
     * 模块名
     */
    private String moduleName;

    /**
     * 类目录
     */
    private String classDir;

    /**
     * 类名
     */
    private String className;

    /**
     * 类uri 多个uri由英文字符逗号分隔
     */
    private String classUri;

    /**
     * 类uri请求方式
     */
    private String classUriMethod;

    /**
     * 方法名
     */
    private String fnName;

    /**
     * 方法参数
     */
    private String fnArgs;

    /**
     * 方法uri 多个uri由英文字符逗号分隔
     */
    private String fnUri;

    /**
     * 方法uri请求方式
     */
    private String fnUriMethod;

    /**
     * 返回类型 描述请求返回的数据格式：0 表示page页面返回，1 表示json数据格式返回
     */
    private Integer resultType;

    /**
     * 完整的uri 完整路径，由类uri与方法uri组合而成，多个uri地址有英文字符逗号分割
     */
    private String fullUri;

    /**
     * 认证标识 标识功能是否需要权限认证；0不需认证 ，1需要认证
     */
    private Integer permissionSymbol;

    /**
     * 可用标识 标识功能可用状态，当功能处于不可用状态时，即便拥有权限也不能访问；0：不可用 ；1：可用
     */
    private Integer status;


    @Override
    public Object clone(){
        try {
            return super.clone();
        } catch (CloneNotSupportedException e) {
           //
        }
        return null;
    }
}
